#ifndef ACAPELLA_SYNCHRONIZE_NULL_SPIN_LOCK_HPP
#define ACAPELLA_SYNCHRONIZE_NULL_SPIN_LOCK_HPP

namespace acapella
{
namespace synchronize
{

class null_spin_lock
{
public:
	null_spin_lock()
	{

	}

	bool try_lock()
	{
		return true;
	}

	void lock()
	{
		return;
	}

	void unlock()
	{
		return;
	}

private:
	// disable null lock's copy and assign
	// because one day if you change your synchronize type
	// you may found all your code do not compile
	// that will be a disaster
	null_spin_lock(const null_spin_lock&);
	null_spin_lock& operator=(const null_spin_lock&);
};

}
}



#endif
